#coding:utf-8

####################################################################
##  一，脚本语法说明：
##  [类型字段, 命令字段, 匹配结果字段, 超时时间字段, 错误等级字段]
##  1，类型字段：
##        0：AT命令
##        1：延迟
##        2：数据
##		  3：命令嵌套
##	2，命令字段：
##		1）AT命令
##		[0, 'AT命令字符串', '匹配结果', 超时时间（单位s）, 错误等级字段]
##		2）延迟命令
##		[1, 延迟时间（单位ms）, '', '', '']
##		3）发送数据
##		[2, '数据内容', '匹配结果', 超时时间(单位s), 错误等级字段]
##		4）命令嵌套
##		[2, 命令列表名称, '', '', 错误等级字段]
##	3，匹配结果字段：
##		1）单行字符串('string')：按照字符串查找方式，匹配AT返回中的某一行，如果匹配成功就认为命令执行成功
##		2) 单行正则表达式(Reg('reg')): 按照正则表达式匹配方式，匹配AT返回中某一行，如果匹配成功就认为命令执行成功
##		3）多行字符串(FullMatch('string_line1\r\nstring_line2')): 按照字符串查找方式，匹配AT返回中的多行，如果匹配成功就认为命令执行成功
##		4）多行正则表达式(ReMatch('reg1[\s\S]+reg2')): 按照正则表达式匹配方式，匹配AT返回的多行，如果匹配成功就认为命令执行成功
##	4，超时时间字段：
##		如果执行【命令字段】后没有匹配到【匹配结果字段】，就会等待超时，超时时间单位为s
##	5，错误等级字段
##		0：忽略该条命令匹配错误继续执行下一行
##		1：如果该条命令匹配错误就停止执行
####################################################################

ftp = [
	[0,'AT+FTPCID=1', 'OK', 20,1],
	[0,'AT+FTPSERV="36.7.87.100"', 'OK', 20,1],
	[0,'AT+FTPUN="user"', 'OK', 20,1],
	[0,'AT+FTPPW="123456"', 'OK', 20,1],
	[0,'AT+FTPPUTNAME="1.txt"', 'OK', 20,1],
	[0,'AT+FTPPUTPATH="/"', 'OK', 20,1],
	[0,'AT+FTPPUT=1', Reg(r'\+FTPPUT: 1,1,[0-9]+'), 30, 1],
	[0,'AT+FTPPUT=2,100', Reg(r'\+FTPPUT: 2,100'), 20,1],
	[2,'1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890', Reg(r'\+FTPPUT: 1,1,[0-9]+'), 20,1],
	[0,'AT+FTPPUT=2,7', Reg(r'\+FTPPUT: 2,7'), 20,1],
	[0,'1234567', Reg(r'\+FTPPUT: 1,1,[0-9]+'), 5, 1],
	[0,'AT+FTPPUT=2,0', Reg(r'\+FTPPUT: 1,0'), 15, 1],

	[0,'AT+SAPBR=0,1', 'OK', 5, 1],
	[0,'AT+SAPBR=3,1,"CONTYPE","GPRS"', 'OK', 20,1],
	[0,'AT+SAPBR=3,1,"APN","'+apn1+'"', 'OK', 20,1],
	[0,'AT+SAPBR =1,1', 'OK', 20,1],
	[0,'AT+SAPBR=2,1', 'OK', 20,1],
	[0,'AT+FTPCID=1', 'OK', 20,1],
	[0,'AT+FTPSERV="36.7.87.100"', 'OK', 20,1],
	[0,'AT+FTPUN="user"', 'OK', 20,1],
	[0,'AT+FTPPW="123456"', 'OK', 20,1],
	[0,'AT+FTPGETNAME="1.bin"', 'OK', 20,1],
	[0,'AT+FTPGETPATH="get/"', 'OK', 20,1],
	[0,'AT+FTPGET=1', Reg(r'\+FTPGET: 1,1'), 30, 1],
	[0,'AT+FTPSTATE', FullMatch('+FTPSTATE: 1'), 20,1],
	[0,'AT+FTPGET=2,1024', 'OK', 20,1],
	[0,'AT+FTPGET=2,1024', 'OK', 20,1],
	[0,'AT+FTPGET=2,1024', 'OK', 20,1],
	[0,'AT+FTPGET=2,1024', 'OK', 20,1],
	[0,'AT+FTPGET=2,1024', FullMatch('\r\n+FTPGET: 2,0\r\n\r\nOK\r\n'), 20,1],
	[0,'AT+FTPQUIT', FullMatch('\r\nOK\r\n\r\n+FTPGET: 1,86\r\n'), 20,1],
	[0,'AT+FTPSTATE', FullMatch('+FTPSTATE: 0'), 20,1],
]
